In a communication system, resources are typically used to establish and maintain communication paths through which data may be forwarded. At each node or network element along a communication path, the forwarding state of data, such as a packet of digital data, may be determined to forward the packet along to the next node, or next hop, of the communication path. Thus, forwarding state may be considered the information used at each node to forward the data to the next node.
In an installation of a communication network system, there can be Internet Protocol (IP) and Multiprotocol Label Switching (MPLS) controls for forwarding data packets through the network. MPLS is considered by some as an efficient way of transmitting data packets. This is primarily because MPLS eliminates the need to examine the destination IP address of a packet at every router or network node in the path of the packet. As such, MPLS has particular utility in the high speed core of many networks, such as IP networks.
For instance, the IP control may comprise IP routing protocols such as OSPF, IS-IS, and BGP, which exchange network topology information and help build the IP forwarding state. MPLS control may comprise signalling protocols such as LDP, RSVP-TE, and BGP to communicate forwarding state information between nodes. The IP forwarding state is thus constructed using the destination IP address. With an MPLS implementation, each incoming packet is provided with a MPLS “label”, and thereafter an MPLS node examines the “label” instead of the destination IP address to make a forwarding decision. Thus, the forwarding state at a MPLS node may be used to establish a data traffic path through which data may be communicated. A MPLS node, such as a label-switching router (LSR), may use information provided by the IP and MPLS control components to construct the MPLS forwarding state at the node to establish a communication path and forward a data packet to the downstream node, or child node, along a label switched path (LSP). MPLS thus reduces the need to perform a complex route lookup based on destination IP address and provides a switched logical path LSP facility.
Prior to transmission of data packets through a network, data traffic paths are established between nodes for transport of such packets. In a MPLS implementation, separate label-switched paths (LSP's) may be provided for packets of different forwarding equivalence classes (FEC's) of a MPLS implementation, such as different classes of service, passing through a node or LSR. The establishment of separate traffic paths or LSPs require network administration resources which may be scarce. Particularly in an MPLS implementation, since a 32 bit MPLS shim label only provides for a 20-bit label identifier, there are only 220 unique labels (or 64,000 unique labels) available to a MPLS network domain. As each LSP requires the use of one or more unique labels at each LSR, the number of LSPs that may be deployed in a MPLS network is limited by the 64,000 unique labels that are available.
The issue of exhausting network administration resources may be compounded in prior art networks where multicast messages are being forwarded therethrough in one or more multicast channels. For instance, in a single multicast channel for forwarding data to multiple destination nodes in a MPLS network, a “multicast tree” may be constructed with LSPs providing different paths in the multicast tree trough the nodes, or LSRs. For instance, the multicast tree may have destination nodes as leaves, and the source node as the root in case of single source multicast. In case of multiple sources, a “rendezvous” node may be used as the root node. As such, in MPLS terminology each node or LSR on a multicast tree may be categorized into 1) a Source Designated Router (SDR) or root node, 2) a Branching Router (BR), which has more than one child router on the multicast tree, 3) a Non-branching Router (NBR), which has only one child router on the multicast tree, and 4) a Destination Designated Router (DDR), which is a leaf on the multicast tree. Each LSR, be it a SDR, BR, NBR or DDR along the multicast tree is typically required to maintain a roster of information relating to a forwarding state as part of each multicast channel or multicast tree that passes through the LSR. Thus, in an MPLS implementation, MPLS labels are consumed at each LSR for every multicast channel that is forwarding data through the network. For networks in which multiple multicast channels are provided, it is evident that the available network administration resources, such as unique MPLS labels in a MPLS network, may be exhausted even more quickly, and that the deployment scale of the network is limited by the consumption of resources.
As such, there is a need for a method and system that seeks to alleviate the above disadvantages.